package com.linwen.javase.desgin_pattern.action.template;

/**
 * @ClassName AbstractTemplate
 * @Description 请假申请模板类
 * @Author lin
 * @Date 2022/6/23 上午12:10
 * @Version V1.0
 */
public abstract class AbstractLeave { // 在模板中定义必须要走的流程
    public void leave(){
        m1();
        m2();
        m3();
        m4();
        m5();
    }

    protected abstract void m5();

    protected abstract void m4();

    private void m3() {
        System.out.println("请假进行中");
    }

    private void m2() {
        System.out.println("跟上级打电话沟通");
    }

    private void m1(){
        System.out.println("填写请假申请");
    };

}
